package com.nakamachizu.service;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;

import javax.servlet.http.HttpServletRequest;

import org.w3c.dom.Document;

import com.google.appengine.api.urlfetch.HTTPResponse;
import com.google.appengine.api.urlfetch.URLFetchServiceFactory;


public class GeoService {

    private String geoUrl = "http://maps.google.com/maps/geo";
    
    // ジオコーディングする住所
    private String q;
    
    //API キー
    private String key;
    
    // ジオコーディング リクエストが、場所センサーでデバイスから
    // 取得したものかどうかを示します。この値は、true か false のいずれかです。
    private String sensor;
    
    // 生成される出力の形式。xml、kml、csv、json（デフォルト）を指定できます。
    private String output;
    
    // （省略可）ビューポートの中心の {緯度,経度} は、カンマ区切りの文字列
    // （例、「ll=40.479581,-117.773438」）で表されます。
    // spn パラメータもジオコーダに渡される場合のみ、このパラメータには意味があります。
    private String ll;
    
    // （省略可）ビューポートの「範囲」は、{緯度,経度} というカンマ区切りの文字列
    // （例、「spn=11.1873,22.5」）で表されます。ll パラメータもジオコーダに渡される場合のみ、
    // このパラメータには意味があります。 
    private String spn;
    
    // （省略可）ccTLD（「トップレベル ドメイン」）の 2 文字の値として指定される国コード。
    private String gl;
    
    
    public Document getGeoDocument(HttpServletRequest request, String q, String sensor, String output, String ll){
        Document result = null;
        try{
            URL url = new URL(geoUrl);
            HTTPResponse res = URLFetchServiceFactory.getURLFetchService().fetch(url);
        }catch(MalformedURLException e){
            e.printStackTrace();
        }catch(IOException e){
            e.printStackTrace();
        }
        return result;
    }
}
